Title: pianobar, control-pianobar, and spectrwm
Date: 2015-10-2 19:00
Category: CLI
Tags: pandora, pianobar, control-pianobar, spectrwm, pass, dotfiles,


**NOTE:** I've since moved on to using i3wm, and this can be done nicely with i3 modes. You can see my i3 conf in my dotfiles.


###[pianobar]
So, `pianobar` is a nice command line pandora player.
Not much set up, besides telling it your username and passwd, hopefully using `password_comand`.

    :::bash
    #~/.config/pianobar/config

    user = your_account
    password_command = pass your/pianobar

I'm using `pass` as the way I store passwds locally; it's nice enough.


###[control-pianobar]
I ran into `control-pianobar` while considering how I could make pianobar play nice with conky. There aren't many ways...
After looking at control-pianobar, I liked the idea of binding pinaobar to system wide keys.

Installing control-pianobar is pretty simple.
Their site recommends the tar file, but I just used the git repo and linked the contents to my `~/.config/pianobar/`.

To start using it, you will have to add `event_command` with the full path to the script.

    :::bash
    #~/.config/pianobar/config

    user = your_account
    password_command = pass your/pianobar
    event_command = /home/your_account/.config/pianobar/pianobar-notify.sh

As an aside, since I keep my config in my [dotfiles], I set my `.gitignore` to:

    :::bash
    #~/.config/pianobar/config/.gitignore

    *
    !.gitignore
    !config

Otherwise a lot of cache files will be annoying:

    :::bash
    ~ -> ls ~/.config/pianobar/
    albumart             downloadname            pandora.jpg
    artname              durationstation         pianobar-notify.sh
    config               durationstationexplain  state
    control-pianobar.sh  isplaying               stationlist
    ctl                  log
    downloaddir          nowplaying  


###[spectrwm] mapping
So, for my window manager, I use `spectrwm`.
I like it since it reminds me a lot of `tmux`

    :::bash
    #~/.spectrwmrc

    ### control-pianobar Commands ### {{{
    program[piano-play]             = ~/.config/pianobar/control-pianobar.sh play
    program[piano-quit]             = ~/.config/pianobar/control-pianobar.sh quit
    program[piano-hist]             = ~/.config/pianobar/control-pianobar.sh history
    program[piano-next]             = ~/.config/pianobar/control-pianobar.sh next
    program[piano-tired]            = ~/.config/pianobar/control-pianobar.sh tired
    program[piano-ss]               = ~/.config/pianobar/control-pianobar.sh switchstaion
    program[piano-ps]               = ~/.config/pianobar/control-pianobar.sh previousstation
    program[piano-ns]               = ~/.config/pianobar/control-pianobar.sh nextstation
    program[piano-love]             = ~/.config/pianobar/control-pianobar.sh love
    program[piano-ban]              = ~/.config/pianobar/control-pianobar.sh ban
    program[piano-expl]             = ~/.config/pianobar/control-pianobar.sh explain
    program[piano-curr]             = ~/.config/pianobar/control-pianobar.sh current
    ### End control-pianobar Commandss ### }}}

    ### control-pianobar Keys ### {{{
    bind[piano-play]                = MOD+F12
    bind[piano-quit]                = MOD+F11
    #bind[piano-hist]               = MOD+F
    bind[piano-next]                = MOD+F1
    bind[piano-tired]               = MOD+F2
    bind[piano-ss]                  = MOD+F7
    #bind[piano-ps]                 = MOD+F
    #bind[piano-ns]                 = MOD+F
    bind[piano-love]                = MOD+F3
    bind[piano-ban]                 = MOD+F5
    #bind[piano-expl]               = MOD+F
    bind[piano-curr]                = MOD+F8
    ### End control-pianobar Keys ### }}}


###Links
[pianobar]  
[pass]  
[control-pianobar]  
[dotfiles]  
[spectrwm]  
[tmux]  


[pianobar]: http://6xq.net/pianobar/
[pass]: http://www.passwordstore.org/
[control-pianobar]: https://malabarba.github.io/control-pianobar/
[dotfiles]: https://notabug.org/demure/dotfiles
[spectrwm]: https://opensource.conformal.com/wiki/spectrwm
[tmux]: https://tmux.github.io/

